package com.woniuxy.carlife.service.impl;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.woniuxy.carlife.domain.Store;
import com.woniuxy.carlife.dto.StoreinfoDto;
import com.woniuxy.carlife.mapper.StoreMapper;
import com.woniuxy.carlife.service.StoreService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

/**
 * @ClassName: StoreServiceImpl
 *@Description: 服务实现类
 * @author: yanzhongliang     
 * @date: 2021-04-05
 */

@Service
public class StoreServiceImpl extends ServiceImpl<StoreMapper, Store> implements StoreService {
        @Resource
        private StoreMapper storeMapper;
        @Resource
        private StoreinfoDto storeinfoDto;

        /**
         * 功能描述〈根据门店id查询门店详情〉
         * @author: yanzhongliang
         * @param: [storeId]
         * @return: List<StoreinfoDto>
         * @Date 2021/4/6 19:52
         * @throws
         */

    @Override
    public List<StoreinfoDto> getfindListStoreInfo(Integer storeId) {
        //将数据库查到的门店详情存入StoreinfoDto
        List<StoreinfoDto> dtoList= storeMapper.getfindListStoreInfo(storeId);
        //循环将门店服务标签json字符串转换成List集合存入TagsNames集合中并返回
        for (StoreinfoDto storeinfoDto : dtoList) {
            List<String> list = JSON.parseObject(storeinfoDto.getTagsName(), List.class);
            storeinfoDto.setTagsNames(list);
            System.out.println(list.size());
        }

        //存入redis

        return dtoList;
    }

    /**
     * 功能描述〈根据门店名查询门店信息供后台查看〉
     * @author: yanzhongliang
     * @param: storeId
     * @return: List<Store>
     * @Date 2021/4/9 10:45
     * @throws
     */

    @Override
    public List<Store> getStoreFindLists(String storeName) {
        QueryWrapper<Store> queryWrapper=new QueryWrapper<>();
        //调用查询方法返回门店基础信息集合
        List<Store> storeList=storeMapper.selectList(queryWrapper);
        return storeList;
    }

    /**
     * 功能描述〈通过门店ID修改门店图片〉
     * @author: yanzhongliang
     * @param: storeId,storeBusiness
     * @return: message
     * @Date 2021/4/13 16:33
     * @throws
     */

    @Override
    public void updateImage(Integer storeId, String storeImage) {
        //获取当前执行修改方法的时间
        Date  storeUpdateTime=new Timestamp(new Date().getTime());
        //调用修改方法
        storeMapper.updateImage(storeId,storeImage,storeUpdateTime);
    }

    /**
     * 功能描述〈通过门店ID修改门店营业执照〉
     * @author: yanzhongliang
     * @param: storeId,storeBusiness
     * @return: message
     * @Date 2021/4/13 16:33
     * @throws
     */

    @Override
    public void updateBusiness(Integer storeId, String storeBusiness) {
        //获取当前执行修改方法的时间
        Date  storeUpdateTime=new Timestamp(new Date().getTime());
        //调用修改方法
        storeMapper.updateBusiness(storeId,storeBusiness,storeUpdateTime);
    }
}
